package cn.com.shopec.erp.purchase.model;

import java.io.Serializable;

import cn.com.shopec.erp.common.utils.MathUtil;

/** 
 * @ClassName: PurchaseOrderInfo 
 * @Description: 采购单基本信息
 * @author: lule
 * @date 2013-5-25 上午11:53:40
 *  
 */

public class PurchaseOrderInfo implements Serializable {
	
	private static final long serialVersionUID = -8502697916398716113L;
	
	/** id **/
	private String id;
	/**采购类型**/
	private int purcType; 
	/** 采购单号 **/
	private String poNo;
	/** 请购单号 **/
//	private String prNo;
	/** 预计采购日期 **/
	private String foPurDate;
	/** 实际采购日期 **/
	private String acPurDate;
	/** 采购单状态（申请中-1、已审核完成-2、已作废-3） **/
	private int poStatus;
	/** 当前审核点 (1：待采购主管处理、2：待采购总监及运营主管处理、3：待财务负责人处理、4：待总经理处理、99：已完成) **/
	private Integer curAuditPoint;
	/** 上次审核人身份。采购主管(PURCHASE_SUPERVISOR)、采购总监(PURCHASE_DIRECTOR)、运营主管(OPERATION_SUPERVISOR)、财务负责人(FINANCIAL_PRINCIPAL)、总经理(GENERAL_MANAGER) **/
	private String lastAuditRole;
	/** 上次审核结果 (1：通过，2：不通过) **/
	private Integer lastAuditResult;
	/** 创建人,采购员 **/
	private String createPerson;
	/** 创建人,采购员的姓名 **/
	private String createPersonName;
	/** 创建时间 **/
	private String createTime;
	/** 最近审核人用户名 **/
	private String lastAuditPerson;
	/** 最近审核人姓名 **/
	private String lastAuditPersonName;
	/** 最近审核时间 **/
	private String lastAuditTime;
	/** 合计采购数量 **/
	private int totalQuantity;
	/** 合计采购金额 **/
	private double totalAmount;
	/**订单结算时间 （请购单中的到货时间）**/
	private String overData;
	
	/** 是否达到采购总监或运行主管审核要求. */
	private boolean achievePDOrOSAudit = false;
	/** 是否达到财务负责人审核要求. */
	private boolean achieveFPAudit = false;
	/** 是否达到总经理审核要求. */
	private boolean achieveGMAudit = false;
	
	/** 
	 * @return poNo 
	 */
	
	public String getPoNo() {
		return poNo;
	}
	/**
	 * @param poNo the poNo to set
	 */
	public void setPoNo(String poNo) {
		this.poNo = poNo;
	}
	/** 
	 * @return prNo 
	 */
	
//	public String getPrNo() {
//		return prNo;
//	}
	/**
	 * @param prNo the prNo to set
	 */
//	public void setPrNo(String prNo) {
//		this.prNo = prNo;
//	}
	/** 
	 * @return foPurDate 
	 */
	
	public String getFoPurDate() {
		return foPurDate;
	}
	/**
	 * @param foPurDate the foPurDate to set
	 */
	public void setFoPurDate(String foPurDate) {
		this.foPurDate = foPurDate;
	}
	/** 
	 * @return acPurDate 
	 */
	
	public String getAcPurDate() {
		return acPurDate;
	}
	/**
	 * @param acPurDate the acPurDate to set
	 */
	public void setAcPurDate(String acPurDate) {
		this.acPurDate = acPurDate;
	}
	/** 
	 * @return poStatus 
	 */
	
	public int getPoStatus() {
		return poStatus;
	}
	/**
	 * @param poStatus the poStatus to set
	 */
	public void setPoStatus(int poStatus) {
		this.poStatus = poStatus;
	}
	/** 
	 * @return curAuditPoint 
	 */
	
	public Integer getCurAuditPoint() {
		return curAuditPoint;
	}
	/**
	 * @param curAuditPoint the curAuditPoint to set
	 */
	public void setCurAuditPoint(Integer curAuditPoint) {
		this.curAuditPoint = curAuditPoint;
	}
	/** 
	 * @return lastAuditRole 
	 */
	
	public String getLastAuditRole() {
		return lastAuditRole;
	}
	/**
	 * @param lastAuditRole the lastAuditRole to set
	 */
	public void setLastAuditRole(String lastAuditRole) {
		this.lastAuditRole = lastAuditRole;
	}
	/** 
	 * @return lastAuditResult 
	 */
	
	public Integer getLastAuditResult() {
		return lastAuditResult;
	}
	/**
	 * @param lastAuditResult the lastAuditResult to set
	 */
	public void setLastAuditResult(Integer lastAuditResult) {
		this.lastAuditResult = lastAuditResult;
	}
	/** 
	 * @return createPerson 
	 */
	
	public String getCreatePerson() {
		return createPerson;
	}
	/**
	 * @param createPerson the createPerson to set
	 */
	public void setCreatePerson(String createPerson) {
		this.createPerson = createPerson;
	}
	/** 
	 * @return createPersonName 
	 */
	
	public String getCreatePersonName() {
		return createPersonName;
	}
	/**
	 * @param createPersonName the createPersonName to set
	 */
	public void setCreatePersonName(String createPersonName) {
		this.createPersonName = createPersonName;
	}
	/** 
	 * @return createTime 
	 */
	
	public String getCreateTime() {
		return createTime;
	}
	/**
	 * @param createTime the createTime to set
	 */
	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}
	/** 
	 * @return lastAuditPerson 
	 */
	
	public String getLastAuditPerson() {
		return lastAuditPerson;
	}
	/**
	 * @param lastAuditPerson the lastAuditPerson to set
	 */
	public void setLastAuditPerson(String lastAuditPerson) {
		this.lastAuditPerson = lastAuditPerson;
	}
	
	/** 
	 * @return lastAuditPersonName 
	 */
	
	public String getLastAuditPersonName() {
		return lastAuditPersonName;
	}
	/**
	 * @param lastAuditPersonName the lastAuditPersonName to set
	 */
	public void setLastAuditPersonName(String lastAuditPersonName) {
		this.lastAuditPersonName = lastAuditPersonName;
	}
	/** 
	 * @return lastAuditTime 
	 */
	
	public String getLastAuditTime() {
		return lastAuditTime;
	}
	/**
	 * @param lastAuditTime the lastAuditTime to set
	 */
	public void setLastAuditTime(String lastAuditTime) {
		this.lastAuditTime = lastAuditTime;
	}
	/** 
	 * @return totalQuantity 
	 */
	
	public int getTotalQuantity() {
		return totalQuantity;
	}
	/**
	 * @param totalQuantity the totalQuantity to set
	 */
	public void setTotalQuantity(int totalQuantity) {
		this.totalQuantity = totalQuantity;
	}
	/** 
	 * @return totalAmount 
	 */
	
	public double getTotalAmount() {
		return MathUtil.getDoubleTwo(totalAmount);
	}
	/**
	 * @param totalAmount the totalAmount to set
	 */
	public void setTotalAmount(double totalAmount) {
		this.totalAmount = totalAmount;
	}
	/* (no-Javadoc) 
	 * <p>Title: toString</p> 
	 * <p>Description: </p> 
	 * @return 
	 * @see java.lang.Object#toString() 
	 */
	
	@Override
	public String toString() {
		return "PurchaseOrderInfo [poNo=" + poNo 
				+ ", foPurDate=" + foPurDate + ", acPurDate=" + acPurDate
				+ ", poStatus=" + poStatus + ", curAuditPoint=" + curAuditPoint
				+ ", lastAuditRole=" + lastAuditRole + ", lastAuditResult="
				+ lastAuditResult + ", createPerson=" + createPerson
				+ ", createPersonName=" + createPersonName + ", createTime="
				+ createTime + ", lastAuditPerson=" + lastAuditPerson
				+ ", lastAuditPersonName=" + lastAuditPersonName
				+ ", lastAuditTime=" + lastAuditTime + ", totalQuantity="
				+ totalQuantity + ", totalAmount=" + totalAmount + "]";
	}
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public int getPurcType() {
		return purcType;
	}
	public void setPurcType(int purcType) {
		this.purcType = purcType;
	}
	public String getOverData() {
		return overData;
	}
	public void setOverData(String overData) {
		this.overData = overData;
	}
	public boolean isAchievePDOrOSAudit() {
		return achievePDOrOSAudit;
	}
	public void setAchievePDOrOSAudit(boolean achievePDOrOSAudit) {
		this.achievePDOrOSAudit = achievePDOrOSAudit;
	}
	public boolean isAchieveFPAudit() {
		return achieveFPAudit;
	}
	public void setAchieveFPAudit(boolean achieveFPAudit) {
		this.achieveFPAudit = achieveFPAudit;
	}
	public boolean isAchieveGMAudit() {
		return achieveGMAudit;
	}
	public void setAchieveGMAudit(boolean achieveGMAudit) {
		this.achieveGMAudit = achieveGMAudit;
	}
	
	
}
